package com.apartment.own.response.ord;

import com.apartment.common.annotation.Excel;
import com.apartment.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @program: HousingRental_tenant_Server_JAVA
 * @description: 租客合同审批
 * @author: @Dog_E
 * @create: 2020-09-15 09:21
 **/
@Data
public class ApproveResp extends BaseEntity {
    /**
     * ID
     */
    @ApiModelProperty("ID")
    private String id;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @ApiModelProperty("删除标志（0代表存在 1代表删除）")
    private String delFlag;

    /**
     * 手机号区号字典
     */
    @ApiModelProperty("手机号区号字典")
    @Excel(name = "手机号区号字典")
    private Integer areaCode;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    @Excel(name = "手机号")
    private String tel;

    /**
     * 资质类型
     */
    @ApiModelProperty("资质类型")
    @Excel(name = "资质类型")
    private Integer certificationType;

    /**
     * 姓名
     */
    @ApiModelProperty("姓名")
    @Excel(name = "姓名")
    private String name;

    /**
     * 身份类型
     */
    @ApiModelProperty("身份类型")
    @Excel(name = "身份类型")
    private Integer idType;

    /**
     * 身份证件号
     */
    @ApiModelProperty("身份证件号")
    @Excel(name = "身份证件号")
    private String idNumber;

    /**
     * 性别0:男 1:女
     */
    @ApiModelProperty("性别0:男 1:女")
    @Excel(name = "性别0:男 1:女")
    private String sex;

    /**
     * 国籍
     */
    @ApiModelProperty("国籍")
    @Excel(name = "国籍")
    private Integer nationality;

    /**
     * 星座类型
     */
    @ApiModelProperty("星座类型")
    @Excel(name = "星座类型")
    private Integer constellationType;

    /**
     * 出生日期
     */
    @ApiModelProperty("出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateOfBirth;

    /**
     * 职业类型
     */
    @ApiModelProperty("职业类型")
    @Excel(name = "职业类型")
    private Integer vocationalType;

    /**
     * 单位名称
     */
    @ApiModelProperty("单位名称")
    @Excel(name = "单位名称")
    private String companyName;

    /**
     * 兴趣爱好
     */
    @ApiModelProperty("兴趣爱好")
    @Excel(name = "兴趣爱好")
    private String hobby;

    /**
     * 其他信息
     */
    @ApiModelProperty("其他信息")
    @Excel(name = "其他信息")
    private String otherInformation;

    /**
     * 户籍住址
     */
    @ApiModelProperty("户籍住址")
    @Excel(name = "户籍住址")
    private String domicileAddress;

    /**
     * 紧急联系人类型
     */
    @ApiModelProperty("紧急联系人类型")
    @Excel(name = "紧急联系人类型")
    private Integer emergencyContactType;

    /**
     * 紧急联系人姓名
     */
    @ApiModelProperty("紧急联系人姓名")
    @Excel(name = "紧急联系人姓名")
    private String emergencyContactName;

    /**
     * 紧急联系人手机号
     */
    @ApiModelProperty("紧急联系人手机号")
    @Excel(name = "紧急联系人手机号")
    private String emergencyContactTel;

    /**
     * 签约方式 0新签电子合同 1:已签纸质合同
     */
    @ApiModelProperty("签约方式 0新签电子合同 1:已签纸质合同")
    @Excel(name = "签约方式 0新签电子合同 1:已签纸质合同")
    private Integer signingMethod;

    /**
     * 短信通知租客完成合同绑定 （0代表存在 1代表删除）
     */
    @ApiModelProperty("短信通知租客完成合同绑定 （0代表存在 1代表删除）")
    @Excel(name = "短信通知租客完成合同绑定 ", readConverterExp = "0=代表存在,1=代表删除")
    private String msgNotice;

    /**
     * 房间id  整租对应
     */
    @ApiModelProperty("房源ID")
    @Excel(name = "房源ID")
    private String houseId;

    /**
     * 房源类型
     */
    @ApiModelProperty("房源类型")
    @Excel(name = "房源类型")
    private Integer housingType;

    /**
     * 选择房源(小区名,门牌号)
     */
    @ApiModelProperty("选择房源(小区名,门牌号)")
    @Excel(name = "选择房源(小区名,门牌号)")
    private String listingsName;

    /**
     * 起租时间
     */
    @ApiModelProperty("起租时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "起租时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startLeaseTime;

    /**
     * 退租时间
     */
    @ApiModelProperty("退租时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退租时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date surrenderLeaseTime;

    /**
     * 租期类型(1:月租)
     */
    @ApiModelProperty("租期类型(1:月租)")
    @Excel(name = "租期类型(1:月租)")
    private Integer leaseTermType;

    /**
     * 支付期限类型(0:一次性  1:付1  2:付2)
     */
    @ApiModelProperty("支付期限类型(0:一次性  1:付1  2:付2)")
    @Excel(name = "支付期限类型(0:一次性  1:付1  2:付2)")
    private Integer paymentDeadlineType;

    /**
     * 押金类型(-1:自定义 0:无押金 1:押一 2:押二 3:押三)
     */
    @ApiModelProperty("押金类型(-1:自定义 0:无押金 1:押一 2:押二 3:押三)")
    @Excel(name = "押金类型(-1:自定义 0:无押金 1:押一 2:押二 3:押三)")
    private Integer cashPledgeType;

    /**
     * 月租金
     */
    @ApiModelProperty("月租金")
    @Excel(name = "月租金")
    private Long monthlyRent;

    /**
     * 押金
     */
    @ApiModelProperty("押金")
    @Excel(name = "押金")
    private Long deposit;

    /**
     * 零散租期(0:不设置 1:零散期前置 2:零散期后置)
     */
    @ApiModelProperty("零散租期(0:不设置 1:零散期前置 2:零散期后置)")
    @Excel(name = "零散租期(0:不设置 1:零散期前置 2:零散期后置)")
    private Integer scatteredLease;

    /**
     * 零散租期起始时间
     */
    @ApiModelProperty("零散租期起始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "零散租期起始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scatteredStartTime;

    /**
     * 零散租期结束时间
     */
    @ApiModelProperty("零散租期结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "零散租期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scatteredSurrenderTime;

    /**
     * 零散租期金额
     */
    @ApiModelProperty("零散租期金额")
    @Excel(name = "零散租期金额")
    private BigDecimal scatteredLeaseMoney;

    /**
     * 零散租期支付类型(1:分开支付 2:合并支付)
     */
    @ApiModelProperty("零散租期支付类型(1:分开支付 2:合并支付)")
    @Excel(name = "零散租期支付类型(1:分开支付 2:合并支付)")
    private Integer scatteredPaymentType;

    /**
     * 租金/付款方式分阶 0:无 1:按灵活租期自定义
     */
    @ApiModelProperty("租金/付款方式分阶 0:无 1:按灵活租期自定义")
    @Excel(name = "租金/付款方式分阶 0:无 1:按灵活租期自定义")
    private Integer paymentMethodHierarchical;

    /**
     * 免租期前置 0:未选中 1:选中
     */
    @ApiModelProperty("免租期前置 0:未选中 1:选中")
    @Excel(name = "免租期前置 0:未选中 1:选中")
    private Integer frontRentFreePeriod;

    /**
     * 多种付款方式 0:未选中 1:选中
     */
    @ApiModelProperty("多种付款方式 0:未选中 1:选中")
    @Excel(name = "多种付款方式 0:未选中 1:选中")
    private Integer manyPayType;

    /**
     * 支付时间方式 0:账单开始前提前 1:账单开始后固定 2:账单开始前固定 3:账单开始前1一个月固定
     */
    @ApiModelProperty("支付时间方式 0:账单开始前提前 1:账单开始后固定 2:账单开始前固定 3:账单开始前1一个月固定")
    @Excel(name = "支付时间方式 0:账单开始前提前 1:账单开始后固定 2:账单开始前固定 3:账单开始前1一个月固定")
    private Integer paymentTimeMethod;

    /**
     * 支付时间类型
     */
    @ApiModelProperty("支付时间类型 ")
    @Excel(name = "支付时间类型 ")
    private Integer paymentTimeType;

    /**
     * 签约类型 0:新签 1:续租 2:转租 3:换房
     */
    @ApiModelProperty("签约类型 0:新签 1:续租 2:转租 3:换房 ")
    @Excel(name = "签约类型 0:新签 1:续租 2:转租 3:换房 ")
    private Integer contractType;

    /**
     * 签约人id
     */
    @ApiModelProperty("签约人id ")
    @Excel(name = "签约人id ")
    private Long signatoryId;

    /**
     * 签约人名字
     */
    @ApiModelProperty("签约人名字 ")
    @Excel(name = "签约人名字 ")
    private String signatoryName;

    /**
     * 签约时间
     */
    @ApiModelProperty("签约时间 ")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "签约时间 ", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signatoryTime;

    /**
     * 租客来源类型
     */
    @ApiModelProperty("租客来源类型 ")
    @Excel(name = "租客来源类型 ")
    private Integer tenantSource;

    /**
     * 合同编号
     */
    @ApiModelProperty("合同编号 ")
    @Excel(name = "合同编号 ")
    private String contractNo;

    /**
     * 合同扫描件图片
     */
    @ApiModelProperty("合同扫描件图片")
    @Excel(name = "合同扫描件图片")
    private String scannedCopyOfContract;

    /**
     * 承租人证件图片
     */
    @ApiModelProperty("承租人证件图片 ")
    @Excel(name = "承租人证件图片 ")
    private String tenantsCertificate;

    /**
     * 租金包含费用
     */
    @ApiModelProperty("租金包含费用 ")
    @Excel(name = "租金包含费用 ")
    private String rentIncludes;

    /**
     * 补充条款
     */
    @ApiModelProperty("补充条款")
    @Excel(name = "补充条款")
    private String additionalTerms;

    /**
     * 合同状态
     */
    @ApiModelProperty("合同状态")
    @Excel(name = "合同状态")
    private String contractStates;


    /**
     * 审批状态
     */
    @ApiModelProperty("审批状态")
    @Excel(name = "审批状态")
    private String approvalStatus;


}
